package edu.ec.java02.group02.mapper;

import edu.ec.java02.group02.common.base.mapper.BaseMapper;
import edu.ec.java02.group02.domain.UserInfo;
import edu.ec.java02.group02.util.Page;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface UserInfoMapper extends BaseMapper<UserInfo> {


    UserInfo getUserInfo(UserInfo userInfo);

    /**
     * 查询所有的用户信息
     * @return
     */
    List<UserInfo> selectAllUser();

    /**
     * 查询用户信息-分页
     * @param page
     * @return
     */
    List<UserInfo> selectUserPage(Page page);

    /**
     * 通过page类查询用户信息总数（含查询总数）
     * @param page
     * @return
     */
    Integer selectUserPageCount(Page page);

    /**
     * 通过id查询用户信息
     * @param userId
     * @return
     */
    UserInfo selectUserById(int userId);

    /**
     * 添加用户信息
     * @param userInfo
     * @return
     */
    int insertUser(UserInfo userInfo);

    /**
     * 修改用户信息
     * @param userInfo
     * @return
     */
    int updateUser(UserInfo userInfo);

    /**
     * 修改用户密码
     * @param userInfo
     * @return
     */
    int updateUserPass(UserInfo userInfo);

    /**
     * 拉黑用户（修改用户信息）
     * @param userInfo
     * @return
     */
    int updateUserState(UserInfo userInfo);

    /**
     * 通过Id删除用户信息
     * @param userId
     * @return
     */
    int deleteUser(int userId);

    //以下为较低版本
    //添加
    //示范
    //UserInfo getUserInfo(int id);
    /*@Insert({
            "INSERT INTO biz_product(NAME,DESCRIPTION,PRICE,STOCK) ",
            "values(#{name},#{description},#{price},#{stock})"
    })
    @Insert("insert into xx(userName，字段名)values(#userName,xxx)")
     void  insertUserInfo(UserInfo userInfo);*/
    //查询
    /*@Select("select * from sys_user where name=#{account}")
    @Select("select name,score form Table a ,Score b where a.id=b.sid")
     UnitUSA query(@Param("id1") int id1,@Param("id2") int id2);*/
    //修改
    /* @Update({
                "update biz_product",
                "SET NAME=#{name},",
                "DESCRIPTION=#{description},",
                "PRICE=#{price},",
                "STOCK=#{stock}",
                "where id=#{id}"

     })*/
    //删除
    /* @Delete("delete from sys_user where id=#{id}")*/
}